Leveraging C++ Meta-programming Capabilities to Simplify the Message Passing Programming Model
نویسندگان
چکیده
Message passing is the primary programming model utilized for distributed memory systems. Because it aims at performance, the level of abstraction is low, making distributed memory programming often difficult and error-prone. In this paper, we leverage the expressivity and meta-programming capabilities of the C++ language to raise the abstraction level and simplify message passing programming. We redefine the semantics of the assignment operator to work in a distributed memory fashion and leave to the compiler the burden of generating theion level and simplify message passing programming. We redefine the semantics of the assignment operator to work in a distributed memory fashion and leave to the compiler the burden of generating the required communication operations. By enforcing more severe checks at compile-time we are able to statically capture common programming errors without causing runtime overhead.
منابع مشابه
Ada as a language for programming clusters of SMPs
This paper presents a new idea of developing parallel programs for clusters of SMP nodes using the Ada programming language. We show how to implement OpenMP in Ada and simplify programming of distributed memory applications using remote subprograms calls instead of complicated message passing.
متن کاملEecient Run-time Support for Irregular Block-structured Applications
Parallel implementations of scientiic applications often rely on elaborate dynamic data structures with complicated communication patterns. We describe a set of intuitive geometric programming abstractions that simplify coordination of irregular block-structured scientiic calculations without sacriicing performance. We have implemented these abstractions in KeLP, a C++ run-time library. KeLP's ...
متن کاملParallel Programming and Complexity Analysis using Actors
We describe Actors, a exible, scalable and eÆcient model of computation, and develop a framework for analyzing the parallel complexity of programs written in it. Actors are asynchronous, autonomous objects which interact by message-passing. The data and process decomposition inherent in Actors simpli es modeling realworld systems. High-level concurrent programming abstractions have been develop...
متن کاملMeta Process Model and its Portable Parallel Programming Interface MpC
This paper proposes a new portable parallel programming interface MpC, Meta process C, for Meta Process Model. The Meta Process Model is a parallel programming padadigm based on a hierarchical shared memory model and an explicit description of parallelism On these points, this model is different from either the strict Shared Memory Model (SMM) or the Message Passing Model (MPM). The Meta Proces...
متن کاملLeveraging task-parallelism in message-passing dense matrix factorizations using SMPSs
In this paper, we investigate how to exploit task-parallelism during the execution of the Cholesky factorization on clusters of multicore processors with the SMPSs programming model. Our analysis reveals that the major difficulties in adapting the code for this operation in ScaLAPACK to SMPSs lie in algorithmic restrictions and the semantics of the SMPSs programming model, but also that they bo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011